<?php

YuppLoader::load('core.mvc.form', 'YuppForm2');

$m = Model::getInstance();
$page = $m->get('page');

?>
<html>
  <head>
    <!-- TODO: el estilo dependera del layout seleccionado -->
    <style>
      .zone {
        background-color: #ffcc00;
      }
      .moduleContainer {
        background-color: #ccff00;
        margin: 1px;
        border: 1px solid #000;
        padding: 5px; /* para que se vea el containder verde */
      }
      .moduleTopBar {
        background-color: #aaccff;
        padding: 3px;
      }
      .moduleActions {
        background-color: #ccddff;
        padding: 3px;
        display: inline-block;
        float: right;
      }
      .moduleContent {
        background-color: #ccffff;
        padding: 3px;
      }
    </style>
    <?php echo h('js', array('app'=>'cms2', 'name'=>'jquery/jquery-1.5.1.min')); ?>
    <script type="text/javascript">

      // El evento de actualizar la modal se ejecuta en parent.
      
      // Callback del submit del form.
      var ep_callback = function(res, status, response) {
        
        // { status="ok", id="36" }
        //console.log(res); // quiero el id de la pagina recien creada.
        
        // Cierro la ventana modal en la que me estoy mostrando
        var modal = $('#modal', parent.document); // Selecciona ventana
        
        // Efecto fadeout
        // Oculto la ventana con CSS
        // Borro la pagina cargada en el iframe
        // oneliner...
        modal.fadeOut('slow').css('display', 'none').children('iframe').attr('src', '');

        <?php if ($m->get('backend') != NULL) : ?>
        parent.location = '<?php echo h('url', array('action'=>'listPages')); ?>?flash.message=Pagina actualizada con exito';
        <?php else : ?>
        // Tengo que actualizar toda la pagina porque pudo cambiar el nombre y descripcion. Es mas facil actualizar todo que cambiar eso por javascript.
        // TODO: I18N para flash.message
        parent.location = '<?php echo h('url', array('action'=>'displayPage')); ?>?pageId='+res.id+'&flash.message=Pagina actualizada con exito';
        <?php endif; ?>
      };
    </script>
  </head>
  <body>
    <h1>Editar p&aacute;gina</h1>
    <?php
      $f = new YuppForm2(array('action'=>'editPage', 'isAjax'=>true, 'ajaxCallback'=>'ep_callback'));
      $f->add( YuppForm2::hidden(array('name'=>'pageId', 'value'=>$page->getId())) )
        ->add( YuppForm2::text(array('name'=>'name', 'value'=>$page->getName(), 'label'=>'Nombre')) )
        ->add( YuppForm2::select(array('name'=>'status', 'value'=>$page->getStatus(), 'options'=>Page::getStatusMap(), 'label'=>'Estado')) )
        ->add( YuppForm2::bigtext(array('name'=>'description', 'value'=>$page->getDescription(), 'label'=>'Descripcion')) )
        ->add( YuppForm2::bigtext(array('name'=>'keywords', 'value'=>$page->getKeywords(), 'label'=>'Palabras clave')) )
        ->add( YuppForm2::submit(array('name'=>'doit', 'label'=>'Actualizar')) );
      YuppFormDisplay2::displayForm( $f );
    ?>
  </body>
</html>